﻿$(document).ready(function () {
    var users = new Bloodhound({
        datumTokenizer: Bloodhound.tokenizers.obj.whitespace('Name'),
        queryTokenizer: Bloodhound.tokenizers.whitespace,
        remote: {
            url: urlUsers,
            wildcard: '%QUERY'
        }
    });

    $('.typeahead').typeahead(null, {
        name: 'users',
        limit : 10,
        display: 'Name',
        source: users,
        templates: {
            empty: [
              '<div class="empty-message">',
                'Ningún usuario encontrado',
              '</div>'
            ].join('\n'),
            suggestion: Handlebars.compile('<div><b>{{UPN}}</b> - {{Name}}</div>')
        }
    });

    jQuery('.typeahead').on('typeahead:selected', function (e, item) {
        var selectedUPN = item.UPN;

        // Set the text to our selected id
        $("#UPN").val(selectedUPN);
        return item;
    });

    $('#btn-submit').bind('click', function () {
        $('#users-form').validate();
        if ($('#users-form').valid()) {
            $('#users-form').submit();
        }
        return false;
    })

    $("#grid-users").bootgrid({
        ajax: true,
        url: urlGridUsers,
        formatters: {
            "link": function (column, row) {
                return getColumn(column, row);
            }
        },
        labels: {
            noResults: "Ningún usuario encontrado",
            infos: "Mostrando del {{ctx.start}} al {{ctx.end}} de {{ctx.total}} archivos(s)",
            loading: "Cargando",
            refresh: "Actualizar",
            search: "Buscar"
        },
        navigation: 0,
        rowCount: -1
    });

    $("#grid-users").bootgrid()
    .on("loaded.rs.jquery.bootgrid", function (e) {
        $('.remove-user').bind('click', function () {
            $('#grid-users-form').validate();
            if ($('#grid-users-form').valid()) {
                if (confirm("¿ Deseas eliminar este usuario ?")) {
                    $('#row-UPN').val($(this).data('id'));
                    $('#grid-users-form').submit();
                }
            }
            return false;
        });
    });
});